/* -*- C++ -*- */
/*===========================================================
 
 .---=||||[ B L O O D Y ]|||||=====================----------....
 |                                                              |
 |    THE  M O S T   B L O O D Y  GAME EVER!                    |
 |                                                              |
 |    bloody harvest is coming... soon,                         |
 |                                              heil Satan!     |
 !                                                              !
 .                                                              ,
  ~~~~-------------================================|||||||||==-~




 Name-Space: {core, logic, editor}
 Module: {draw, coll, scgr, ...}
 Class: <name of class>
 Last modification:  <author>, <time>

 
 
 ============================================================*/
#ifndef __coll_ICollision_Header_File__
#define __coll_ICollision_Header_File__

#include "common.h"
#include "core/coll/IColStr.h"

namespace core
{

	namespace coll
	{

		/**
		 * Interface of object acting in collision detection
		 * process. This interface is gateway to draw::coll
		 * subsytem.
		 */
		class ICollision
		{
			public:

				/**
				 * Do collision detection against other collidable 
				 * object in system.
				 * 
				 * @param other The other collision object, to be
				 * chechked for collision against this object.
				 * 
				 * @return True if collision against other object 
				 * happens, False otherwise.
				 */
				//virtual bool collide(const ICollision& other) const =0;

				virtual const IColStr& getColStr() const =0;

				virtual ~ICollision(){}
		};
	}
}

#endif //__coll_ICollision_Header_File__


